home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / etc / gdm / Init / Default
Text File  |  2009-10-20  |  3KB  |  97 lines

  1. #!/bin/sh
  2. # Stolen from the debian kdm setup, aren't I sneaky
  3. # Plus a lot of fun stuff added
  4. #  -George
  5.  
  6. PATH=/usr/bin:$PATH
  7. OLD_IFS=$IFS
  8.  
  9. if [ -x '/usr/bin/xsplash' ];
  10. then
  11.         /usr/bin/xsplash --gdm-session --daemon
  12. fi
  13.  
  14. initctl -q emit login-session-start DISPLAY_MANAGER=gdm
  15.  
  16. gdmwhich () {
  17.   COMMAND="$1"
  18.   OUTPUT=
  19.   IFS=:
  20.   for dir in $PATH
  21.   do
  22.     if test -x "$dir/$COMMAND" ; then
  23.       if test "x$OUTPUT" = "x" ; then
  24.         OUTPUT="$dir/$COMMAND"
  25.       fi
  26.     fi
  27.   done
  28.   IFS=$OLD_IFS
  29.   echo "$OUTPUT"
  30. }
  31.  
  32. sysresources=/etc/X11/Xresources
  33.  
  34. # merge in defaults
  35. if [ -f "$sysresources" ]; then
  36.     xrdb -merge "$sysresources"
  37. fi
  38.  
  39. sysmodmap=/etc/X11/Xmodmap
  40.  
  41. XMODMAP=`gdmwhich xmodmap`
  42. if [ "x$XMODMAP" != "x" ] ; then
  43.   if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then
  44.     if [ -f $sysmodmap ]; then
  45.       $XMODMAP $sysmodmap
  46.     fi
  47.   else
  48.     ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
  49.   fi
  50.  
  51.   #
  52.   # Switch Sun's Alt and Meta mod mappings
  53.   #
  54.  
  55.   UNAME=`gdmwhich uname`
  56.   PROCESSOR=`$UNAME -p`
  57.   if [ "x$PROCESSOR" = "xsparc" ]; then
  58.     if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null
  59.     then
  60.       $XMODMAP -e "clear Mod1" \
  61.                -e "clear Mod4" \
  62.                -e "add Mod1 = Alt_L" \
  63.                -e "add Mod1 = Alt_R" \
  64.                -e "add Mod4 = Meta_L" \
  65.                -e "add Mod4 = Meta_R"
  66.     fi
  67.   fi
  68. fi
  69.  
  70. SETXKBMAP=`gdmwhich setxkbmap`
  71. if [ "x$SETXKBMAP" != "x" ] ; then
  72.   # FIXME: is this all right?  Is this completely on crack?
  73.   # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
  74.   # FIXME: This should be done in code.  Or there must be an easier way ...
  75.   if [ -n "$GDM_PARENT_DISPLAY" ]; then
  76.     XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
  77.     if [ -n "$XKBSETUP" ]; then
  78.       XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
  79.       XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
  80.       XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
  81.       XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
  82.       XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
  83.       if [ -n "$XKBKEYMAP" ]; then
  84.         $SETXKBMAP -keymap "$XKBKEYMAP"
  85.       elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
  86.         $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
  87.       elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
  88.         $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
  89.       elif [ -n "$XKBSYMBOLS" ]; then
  90.         $SETXKBMAP -symbols "$XKBSYMBOLS"
  91.       fi
  92.     fi
  93.   fi
  94. fi
  95.  
  96. exit 0
  97.